package com.xdb.sqlparser.dialect.oracle.ast.statement;

import com.xdb.sqlparser.ast.SQLExpr;
import com.xdb.sqlparser.ast.SQLName;
import com.xdb.sqlparser.dialect.oracle.ast.OracleSQLObjectImpl;
import com.xdb.sqlparser.dialect.oracle.ast.clause.OracleStorageClause;
import com.xdb.sqlparser.dialect.oracle.visitor.OracleASTVisitor;

public class OracleUsingIndexClause extends OracleSQLObjectImpl {

	private SQLName index;
	private SQLName tablespace;

	private SQLExpr ptcfree;
	private SQLExpr pctused;
	private SQLExpr initrans;
	private SQLExpr maxtrans;

	private Boolean enable = null;

	private boolean computeStatistics = false;

	private OracleStorageClause storage;

	public OracleUsingIndexClause() {

	}

	@Override
	public void accept0(OracleASTVisitor visitor) {
		if (visitor.visit(this)) {
			acceptChild(visitor, index);
			acceptChild(visitor, tablespace);
			acceptChild(visitor, storage);
		}
		visitor.endVisit(this);
	}

	public OracleStorageClause getStorage() {
		return storage;
	}

	public void setStorage(OracleStorageClause storage) {
		this.storage = storage;
	}

	public Boolean getEnable() {
		return enable;
	}

	public void setEnable(Boolean enable) {
		this.enable = enable;
	}

	public boolean isComputeStatistics() {
		return computeStatistics;
	}

	public void setComputeStatistics(boolean computeStatistics) {
		this.computeStatistics = computeStatistics;
	}

	public SQLName getIndex() {
		return index;
	}

	public void setIndex(SQLName index) {
		this.index = index;
	}

	public SQLName getTablespace() {
		return tablespace;
	}

	public void setTablespace(SQLName tablespace) {
		this.tablespace = tablespace;
	}

	public SQLExpr getPtcfree() {
		return ptcfree;
	}

	public void setPtcfree(SQLExpr ptcfree) {
		this.ptcfree = ptcfree;
	}

	public SQLExpr getPctused() {
		return pctused;
	}

	public void setPctused(SQLExpr pctused) {
		this.pctused = pctused;
	}

	public SQLExpr getInitrans() {
		return initrans;
	}

	public void setInitrans(SQLExpr initrans) {
		this.initrans = initrans;
	}

	public SQLExpr getMaxtrans() {
		return maxtrans;
	}

	public void setMaxtrans(SQLExpr maxtrans) {
		this.maxtrans = maxtrans;
	}

}
